﻿#define _CRT_SECURE_NO_WARNINGS 1
/*
特殊的数
问题描述:

​ 8518 是一个非常特殊的数，如果把这个数看成 16 进制数，它的值为 (8518)16=8161616+51616+116+8=34072，而 34072 正好是 8518 的整数倍。

​ 9558 也是这样一个数，当看成 16 进制时是 38232。

​ 其实长度为 1 的数 0 到 9 都满足看成 16 进制后是自己的整数倍（1倍）。

​ 请问，除开长度为 1 的数，最小的满足这样条件的数是多少？
*/
#include <stdio.h>
#include <math.h>
int main() {
	int n, n_16, t = 0, i;
	for (i = 10;; i++) {
		n = i; n_16 = 0; t = 0;
		while (n != 0) {
			n_16 += (n % 10) * pow(16, t++);
			n /= 10;
		}
		if (n_16 % i == 0)break;
	}
	printf("%d,%d", i--, n_16);

	return 0;
}
